package com.office.meeting.situation.domain;

import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.office.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.office.common.annotation.Excel;

/**
 * 预约情况对象 conference_invitation
 *
 * @author ruoyi
 * @date 2025-05-17
 */
public class SituationInvitation extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 我邀请的用户的名称
     */
    @Excel(name = "名称")
    private String nickName;

    /**
     * 邀请用户的性别
     */
    @Excel(name = "性别")
    private Long sex;

    /**
     * 邀请用户的手机号
     */
    @Excel(name = "手机号")
    private String phonenumber;

    /**
     * 部门名称
     */
    @Excel(name = "部门")
    private String deptName;

    /**
     * 岗位名称
     */
    @Excel(name = "岗位")
    private String postName;

    /**
     * 会议名称
     */
    @Excel(name = "会议名称")
    private String meetingName;

    /**
     * 会议密码
     */
    @Excel(name = "密码")
    private String password;

    /**
     * 结束时间
     * 没有在数据库中只是方便前端查询
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 结束时间
     * 没有在数据库中只是方便前端查询
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    /**
     * 开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 状态
     */
    @Excel(name = "状态")
    private Long state;

    /**
     * 理由
     */
    @Excel(name = "理由")
    private String reason;

    @Excel(name = "会议发起的时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime meetingLaunchDate;

    private Long inviteCount;

    public Long getInviteCount() {
        return inviteCount;
    }

    public void setInviteCount(Long inviteCount) {
        this.inviteCount = inviteCount;
    }

    public LocalDateTime getMeetingLaunchDate() {
        return meetingLaunchDate;
    }

    public void setMeetingLaunchDate(LocalDateTime meetingLaunchDate) {
        this.meetingLaunchDate = meetingLaunchDate;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getMeetingName() {
        return meetingName;
    }

    public void setMeetingName(String meetingName) {
        this.meetingName = meetingName;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhonenumber() {
        return phonenumber;
    }

    public void setPhonenumber(String phonenumber) {
        this.phonenumber = phonenumber;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason;
    }

    public Long getSex() {
        return sex;
    }

    public void setSex(Long sex) {
        this.sex = sex;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Long getState() {
        return state;
    }

    public void setState(Long state) {
        this.state = state;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}
